This application claims the priority of Korean Patent Application No. 2003-11125, filed on Feb. 21, 2003, in the Korean Intellectual Property Office, the disclosure of which is incorporated herein in its entirety by reference.
1. Field of the Invention
The present invention relates to a short-range wireless communication system and method, and more particularly to wireless communication system and method capable of securing both a high throughput and fairness among wireless communication devices when one wireless communication device receives and transmits data from and to a plurality of wireless communication devices.
2. Description of the Prior Art
The Bluetooth system is generally used for short-range wireless communication systems. The Bluetooth refers to a code for a short-range wireless data communication technology over all the electric communications, networking, computing, and consumables sectors. The Bluetooth technology replaces a plurality of cable connections necessary among devices, using one wireless connection in a short range.
A short-range wireless communication system such as the Bluetooth system uses a time division duplex (TDD) to perform bi-directional communications between the master and slaves by one hopping slot (625 μs= 1/1600 seconds) basically.
The round-robin polling scheme and the queue state dependent packet scheduling algorithm are used for the TDD polling schemes employed in a conventional short-range wireless communication system.
FIG. 1 is a view for showing a round-robin scheme, and the following descriptions are made for a case when data is sent in the round-robin manner between one master and three slaves. The round-robin scheduling algorithm dictates that, when the master polls a slave, only the polled slave can send data to the master. That is, the master can send data at even-numbered slots, and a slave can send data at adjacent odd-numbered slots only when the slave is polled by the master. The other slaves are prohibited from sending data at the slot. In this case, the master sequentially polls slave 1, slave 2, and slave 3, and each master-slave pair can receive and send data at a rate corresponding to one third of the entire transmission rate by the master polling.
The round-robin scheme as described above allocates the same transmission rate to respective master-slave pairs. However, an amount of data to be sent compared to other services becomes less or more according to the kinds of application services. In this case, the transmission efficiency becomes lowered when the same transmission rate is allocated to all the kinds of services. That is, it is possible to allocate a transmission rate lower than a transmission rate necessary for a service for which more data should be sent, or, to the contrary, to allocate a transmission rate higher than a transmission rate necessary for a service with less data. Therefore, there occurs a problem of wasting slots due to POLL-NULL packets when there is no data to be sent.
As an alternative to the round robin scheme, there is a queue status dependent scheduling algorithm that categorizes classes depending upon link utilization degrees of master-slave pairs, assigns priorities to the classes, and polls the classes based on the priorities.
FIG. 2 is a view for showing a queue status dependent scheduling algorithm. In FIG. 2, the queue status dependent packet scheduling method exchanges queue status information of master/slave pairs by using reserved bits of the packet payload header, and categorizes classes depending upon link utilization information of respective master/slave pairs based on the exchanges. For example, in FIG. 2 as in the master/slave 1 pair, when the number of packets the master is to send to slave 1 is 3 and the number of packets the slave 1 is to send to the master is 1, the master/slave 1 pair is categorized into class 100%. In the master/slave 2 pair, the number of packets to be received and sent is 3, thus the master/slave 2 pair is categorized into class 75%, and in the master/slave pair 3, when the number of packets to be received and sent is 1, the master/slave pair 3 is categorized into class 50%.
Priorities are assigned to the respective master/slave pairs based on the classes determined in such a manner. Accordingly, in the order of the master/slave 1 pair, master/slave 2 pair, and master/slave 3 pair, each pair has an opportunity.
The number of times of giving away or taking over data transmission opportunities based on the priorities is reflected by additional counters, and a counter value difference between the master/slave pair taking over service opportunities a maximum number of times and the master/slave pair giving away service opportunities a maximum number of times is restrained to a specified value K, to thereby secure the fairness.
However, the queue status dependent packet scheduling method has an advantage of maintaining an appropriate fairness for service opportunities among respective master/slave pairs while maximizing throughput through the priorities, but also has a problem in that it compares counter values between a pair having the most frequent service opportunities and a pair having the least frequent service opportunities and, if a difference becomes large, restrains any further effective scheduling through priorities (that is, it operates in the round-robin manner once reaching a K value), and has inconstant performances after reaching the K value depending upon whether data traffic characteristics are static or dynamic.